A tablet computer, which may be simply referred to as a tablet, is a one-piece mobile computer. Tablet computers typically offer a touchscreen, with finger (or stylus) gestures acting as the host means of user interface control. The tablet may be supplemented with one or more physical context sensitive buttons or the input from one or more sensors, e.g., accelerometers, as a means for control. An on-screen, hideable virtual keyboard is generally offered as the principal means of data input. Though available in a variety of sizes, tablets customarily offer a screen diagonal greater than 7 inches (18 cm), differentiating the tablets through size from functionally similar smart phones or personal digital assistants.
Most tablets have built-in sensors that measure motion, orientation, and various environmental conditions. These sensors are capable of providing raw data with high precision and accuracy and are useful for monitoring three-dimensional device movement or positioning or monitoring changes in the ambient environment near a device. For example, a game running on a tablet might track readings from the tablet's gravity sensor to infer complex user gestures and motions, such as tilt, shake, rotation, or swing. Likewise, a weather application might use the tablet's temperature sensor and humidity sensor to calculate and report the dew point, or a travel application might use the tablet's geomagnetic field sensor and accelerometer to report a compass bearing.
In today's world, having dual mobile operating systems in devices, such as laptops, has become more common as people want to have access to features of multiple operating systems. Windows has been the host operating system for most laptops, along with Linux based operating systems. Recently, with the increase in popularity of Android in smartphones, a trend is emerging pushing Android as a guest operating systems in tablets, notebooks and netbooks. Since Android has the advantage of a mature application market, along with developer support, there is an increasing push from the market to run Android in parallel with Windows.
The Android OS platform supports three broad categories of sensors: environmental sensors, position sensors, and motion sensors. Environmental sensors measure various environmental parameters, such as ambient air temperature and pressure, illumination, and humidity. Environmental sensors include, e.g., barometers, photometers, and thermometers. Position sensors measure the physical position of a device. Position sensors include, e.g., orientation sensors and magnetometers. Motion sensors measure acceleration forces and rotational forces along three axes. Motion sensors include, e.g., accelerometers, gravity sensors, gyroscopes, and rotational vector sensors.
A Dual Operating System (DuOS) allows an Android OS to work alongside a host OS, e.g., a Windows OS, in a tablet and other types of computing devices, e.g., mobile communication devices, personal digital assistants, and personal computers. DuOS enables the user of a Windows OS computing device to run an Android OS in the same computing device and to use the thousands of applications available in Android. Details of exemplary DuOS devices are provided in U.S. patent application Ser. No. 13/233,473, filed Sep. 2, 2011 and U.S. patent application Ser. No. 14/155,471, filed Jan. 15, 2014, herein incorporated by reference.
In an Android operating system that is not part of a DuOS computing device, an Android application sends requests for access to the hardware, and the requests are fulfilled by the Linux drivers.
However, in existing DuOS computing devices, in which the Android OS is executed as a guest of the Windows OS, when the Window OS boots the computing device, the Windows OS enumerates and takes over the hardware. Later, when DuOS is launched from within the Windows OS, the Android OS is run in the Windows OS as a process. An attempt by an Android application to access the hardware through Linux drivers in such a device would fail as it would be transparent to the Windows OS, because such access is outside of the scope of the Windows OS.
It is with respect to these and other considerations that the disclosure presented herein has been made.